
#ifndef ALGORITMO_H
#define	ALGORITMO_H

#include "CNodo.h"
#include "Heuristica.h"


class Algoritmo {
public:
    /**
     * Ejecuta una busqueda apartir del estado s0 usando la heuristica heu.
     * @param s0 - Estado inicial desde el cual se buscara.
     * @param heu - Heuristica a emplear en la busqueda.
     * @return Devuelve el estado Goal desde el cual se puede recorrer hacia
     * sus ancestros hasta llegar al estado inicial.
     */
    virtual CNodo * buscar(CNodo *s0, Heuristica *heu) = 0;
};

#endif	/* ALGORITMO_H */

